﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Suzsoft.Smart.EntityCore;

namespace ESOL.Common.Schema
{
    [Serializable]
    public partial class MstDepartmentTable : TableInfo
    {
        public const string C_TableName = "MST_DEPARTMENT";

        public const string C_DEPARTMENT_ID = "DEPARTMENT_ID";
        public const string C_PARENT_ID = "PARENT_ID";
        public const string C_DEPARTMENT_CODE = "DEPARTMENT_CODE";
        public const string C_DEPARTMENT_NAME = "DEPARTMENT_NAME";
        public const string C_MANAGER = "MANAGER";
        public const string C_SEQUENCE = "SEQUENCE";
        public const string C_DELETE_FLAG = "DELETE_FLAG";
        public const string C_DESCRIPTION = "DESCRIPTION";
        public const string C_LEADER = "LEADER";
        public const string C_ASSISTANT = "ASSISTANT";

        public MstDepartmentTable()
        {
            _tableName = "MST_DEPARTMENT";
        }

        protected static MstDepartmentTable _current;
        public static MstDepartmentTable Current
        {
            get
            {
                if (_current == null)
                {
                    Initial();
                }
                return _current;
            }
        }

        private static void Initial()
        {
            _current = new MstDepartmentTable();

            _current.Add(C_DEPARTMENT_ID, new ColumnInfo(C_DEPARTMENT_ID, "DepartmentId", true, typeof(string)));
            _current.Add(C_PARENT_ID, new ColumnInfo(C_PARENT_ID, "ParentId", false, typeof(string)));
            _current.Add(C_DEPARTMENT_CODE, new ColumnInfo(C_DEPARTMENT_CODE, "DepartmentCode", false, typeof(string)));
            _current.Add(C_DEPARTMENT_NAME, new ColumnInfo(C_DEPARTMENT_NAME, "DepartmentName", false, typeof(string)));
            _current.Add(C_MANAGER, new ColumnInfo(C_MANAGER, "Manager", false, typeof(string)));
            _current.Add(C_SEQUENCE, new ColumnInfo(C_SEQUENCE, "Sequence", false, typeof(int)));
            _current.Add(C_DELETE_FLAG, new ColumnInfo(C_DELETE_FLAG, "DeleteFlag", false, typeof(int)));
            _current.Add(C_DESCRIPTION, new ColumnInfo(C_DESCRIPTION, "Description", false, typeof(string)));
            _current.Add(C_LEADER, new ColumnInfo(C_LEADER, "Leader", false, typeof(string)));
            _current.Add(C_ASSISTANT, new ColumnInfo(C_ASSISTANT, "Assistant", false, typeof(string)));

        }

        public ColumnInfo DEPARTMENT_ID
        {
            get { return this[C_DEPARTMENT_ID]; }
        }

        public ColumnInfo PARENT_ID
        {
            get { return this[C_PARENT_ID]; }
        }

        public ColumnInfo DEPARTMENT_CODE
        {
            get { return this[C_DEPARTMENT_CODE]; }
        }

        public ColumnInfo DEPARTMENT_NAME
        {
            get { return this[C_DEPARTMENT_NAME]; }
        }

        public ColumnInfo MANAGER
        {
            get { return this[C_MANAGER]; }
        }

        public ColumnInfo SEQUENCE
        {
            get { return this[C_SEQUENCE]; }
        }

        public ColumnInfo DELETE_FLAG
        {
            get { return this[C_DELETE_FLAG]; }
        }

        public ColumnInfo DESCRIPTION
        {
            get { return this[C_DESCRIPTION]; }
        }

        public ColumnInfo LEADER
        {
            get { return this[C_LEADER]; }
        }

        public ColumnInfo ASSISTANT
        {
            get { return this[C_ASSISTANT]; }
        }



    }
}
